f[x_,y_]=-x^2+2x y-2y^2+2

Ax=Graphics3D[{Arrow[{{0,0,0},{0,0,3}}],Arrow[{{-2,0,0},{2,0,0}}],Arrow[{{0,-2,0},{0,2,0}}],Style[{Text[x,{2.1,0,0}],Text[y,{0,2.1,0}],Text[z,{0,0,3.1}]},Large]},Boxed->False]

G=Plot3D[f[x,y],{x,-2,2},{y,-2,2},PlotRange->{0,3},BoxRatios->{4,4,3},ClippingStyle->{None},Boxed->False,Axes->False,Mesh->None,Mesh->None,PlotStyle->Opacity[0.4]]

Show[Ax,G,ViewPoint->{-200, 100, 100}]

P=Plot3D[-2x+2y+3,{x,-2,2},{y,-2,2},
PlotRange->{0,3},ClippingStyle->None,Boxed->False,Axes->False,Mesh->None,Mesh->None,PlotStyle->Opacity[0.4]]

a=Graphics3D[{Red,Point[{-1,0,0}]}]

A=Graphics3D[{Red,PointSize[0.03],Point[{1,0,1}]}]

AAA=Graphics3D[Text[Style["A",Large,Bold],{0.8,0.2,1.1}]]

Show[(*G*)Px,A,AAA,Ax,ViewPoint->{200, 50, 100}]

Px=ParametricPlot3D[{x,0,z},{x,-2,2},{z,0,3},Mesh->None,Boxed->False, Axes->False,
PlotStyle->Opacity[0.4]]

Cx=ParametricPlot3D[{x,0,f[x,0]},{x,-2,2},
PlotStyle->{Thick,RGBColor[1,0,0.5]},RegionFunction->(#3>0&)]

Show[G,Px,Cx,A,AAA,Ax,ViewPoint->{200, 50, 100}]

Show[G,Px,Cx,Lx,A,AAA,Ax,ViewPoint->{0, -100, 0}]

Show[G,Cx,Px,A,AAA,Ax,ViewPoint->{-200, 100, 100}]

Show[G,A,AAA,Cy,Ly,Ax,ViewPoint->{-200, 100, 100}]

Show[{G,P,A,AAA,Cx,Cy,Lx,Ly}]

Lx=ParametricPlot3D[{x,0,-2x+3},{x,0,3/2},
PlotStyle->{Thick,RGBColor[1,0,1]}]

Py=ParametricPlot3D[{1,y,z},{y,-2,2},{z,0,3},Mesh->None,PlotStyle->Opacity[0.4]]

Cy=ParametricPlot3D[{1,y,f[1,y]},{y,-2,2},
PlotStyle->{Thick,Blue},RegionFunction->(#3>0 &)]

Ly=ParametricPlot3D[{1,y,2y+1},{y,-1/2,1},
PlotStyle->{Thick,Blue}]

Show[{G,A,AAA,Px,Cx,Lx}]

Show[G,A,(*Px,Cx,Lx,*)Py,Cy,Ly,Ax,ViewPoint->{200, 70, 100}]

Gakuseibangou  Shimei

Show[G,A,P,Cx,Lx,Cy,Ly,Ax,ViewPoint->{100, -150,250}]